using System;
using System.Collections.Generic;
using TMPro;
using UnityEngine;
using UnityEngine.UI;

namespace PP.PPPoker
{
    /// <summary>
    /// AnimationConfig 对象
    /// </summary>
    public class AnimationConfig
    {
        private const string Tag = nameof(AnimationConfig);

        // Public Const Begin
        public const float ACTION_COUNTDOWN_TIME = 15f;
        public const float ACTION_BUFFER_TIME = 5f;

        public const float ACTION_NOITCE_TIME = 8f;

        public const float ACTION_LIGHT_CIRCLE_RADIUS = 65f;
        // Action光点转一圈的秒数
        public const float ACTION_LIGHT_ROTATION_SECOND = 4f;

        // 头像自转一圈的秒数
        public const float ACTION_HEAD_ROTATION_SECOND = 0.3f;

        // 转牌动画每帧持续的秒数
        public const float ACTION_CARD_APPEAR_FRAME_SECOND = 0.05f;

        // 底部按钮弹出的秒数
        public const float ACTION_BOTTOM_MOVE_SPEED = 0.05f;

        // 赢得奖池动画每帧持续的秒数
        public const float ACTION_WIN_BLINK_FRAME_SECOND = 0.1f;

        // 断网时icon每选择30°的秒数
        public const float ACTION_NETOFF_ICON_ROTATION_SECOND = 0.07f;

        // 等待房主时icon每选择30°的秒数
        public const float ACTION_WAITTING_START_ROOM_ICON_ROTATION_SECOND = 0.2f;

        // 发每张牌之间的秒数
        public const float DEAL_CARD_DELAY = 0.08f;

        // 发牌飞到玩家手上的秒数
        public const float CARD_FLY_TIME = 0.15f;

        // 收奖池和分奖池的筹码飞行的秒数
        public const float CHIP_FLY_TIME = 0.4f;

        // 其他奖池从第一堆奖池中移动出来的秒数
        public const float POT_MOVE_TIME = 0.3f;

        // 从僵持获利飘字的秒数
        public const float WIN_FLY_TEXT_TIME = 3f;

        // 被拒绝授权，消失延迟时间
        public const float AUTH_REFUSED_DISAPPEAR_DELAY = 2f;
        public const float PROFIT_ANI_TIME = 0.4f;
        public const float PROFIT_ANI_DELAY = 3.6f;
        public const float TWO_ANI_FOR_ONE_DELAY = 4.2f;

        // 棄牌動畫秒數
        public const float DISCARD_CARD_FLY_TIME = 0.4f;

        public const float FLASH_FADE_DURATION = 0.25f;  // flash 桌玩家進退場淡入淡出演出時長
        public const float FLASH_WAIT_START = 1f;    // FLASH桌換桌時，會延遲出現「等待」字樣的時機

        public const float ACTION_STEP = 0.05f;

        // Flop发牌，转完后到展开之间的延迟
        public const float FLOP_SHOW_CARD_DELAY_SECOND = 0.3f;

        // Flop发牌，展开之间的秒数
        public const float FLOP_SHOW_CARD_SECOND = 0.5f;

        // 头像转圈中间的停顿
        public const float HEAD_ROTATION_DELAY_SECOND = 0f;

        // 大菠萝翻牌动画每帧持续时间
        public const float OFC_ACTION_CARD_APPEAR_FRAME_SECOND = 0.07f;

        public const float DEFAULT_BUTTON_NODE_POS_Y = -150f; // 底部行动按钮的初始位置

        public const float CASINO_TABLE_NODE_POS_X = 80f;
        public const float CASINO_TABLE_NODE_POS_Y = 180f;   // 參照美術示意圖對出來的
        // Public Const End
    }
}
